//
//  BlockViewController.m
//  DebugDemo
//
//  Created by XFB on 2018/11/27.
//  Copyright © 2018年 ZhouCheng. All rights reserved.
//

#import "BlockViewController.h"

@interface BlockViewController ()

@end

@implementation BlockViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    self.navigationItem.title = @"Block解析";
    self.view.backgroundColor = [UIColor whiteColor];
    
    
    /**
     Block:
     1.Block介绍
        Block是将 函数 及其 执行上下文 封装起来的对象
     {
     int a = 6;
     int(^Block)(int) = ^int(int num) {
     return num *a;
     };
     
     
     Block(2);
     }
     
     源码解析：
     使用 Clang -rewrite-objc file.m 查看编译之后的文件内容
     
     Block是一个对象 ---> 函数/上下文
     
     什么是Block调用：即函数的调用
     
     2.截获变量
     3.__block修饰符
     4.Block的内存管理
     5.Block的循环引用
     
     */
    
}


@end
